1
Dari Namespacing ke Sistem Modul yang Tangguh
AI020Lesson 6
00:00

Pada pengembangan JavaScript awal, Polusi Namespace merupakan hambatan besar. Ketika kode yang tidak terkait berbagi satu set nama variabel global, terjadi tabrakan yang tak terduga. Desain modern beralih dari sikap tanpa struktur ke Sistem Modul Terisolasi.

1. Isolasi Fungsional (IIFE)

Dengan membungkus kode dalam Ekspresi Fungsi yang Dipanggil Segera (IIFE), kita menciptakan lingkup privat. Variabel seperti names terjebak di dalam fungsi, tidak dapat diakses dari lingkungan global.

(function() {
var internal = "rahasia";
console.log(internal);
})();

2. Antarmuka Berbasis Objek

Untuk menyediakan fungsionalitas bagi dunia luar, sebuah modul mengembalikan objek yang bertindak sebagai antarmuka publik. Ini mengelompokkan metode-metode terkait (seperti name dan number) di bawah satu variabel global yang dipulihkan.

Lingkup Privat[larik names]Antarmukaname(), number()

3. Pola Ekspor

Variasi canggih melibatkan melewatkan exports objek ke dalam IIFE. Ini memungkinkan modul untuk menempelkan API-nya langsung ke tujuan namespace tertentu, memberikan fleksibilitas dalam cara modul dikonsumsi.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>